package com.gph.saviorframework.auth.service;

import com.gph.saviorframework.auth.model.AuthService;
import com.gph.saviorframework.auth.model.AuthSystem;
import com.gph.saviorframework.base.service.BaseService;

import java.util.List;

/**
 * Created by root on 16-7-21.
 */
public interface AuthServiceService extends BaseService<AuthService,String>{

    /**
     * 根据角色编号获取服务信息
     * @param roleId
     * @return
     */
    List<AuthService> findByRoleId(String roleId);

    /**
     * 根据角色集合查询所有的服务信息
     * @param roleIds
     * @return
     */
    List<AuthService> findByRoles(List<String> roleIds);

    /**
     * 根据角色集合和服务名称查询是否存在
     * @param roleIds
     * @param serviceName
     * @return
     */
    long countByRolesAndServieName(List<String> roleIds,String serviceName);

    /**
     * 根据服务名称和系统名称判断是否存在
     * @param sysName
     * @param serviceName
     * @return
     */
    long countBySysNameAndServiceName(String sysName,String serviceName);

    /**
     * 根据系统编号获取服务信息
     * @param sysId
     * @return
     */
    List<AuthService> getBySystemId(String sysId);

    /**
     * 根据系统名称获取服务信息
     * @param sysName
     * @return
     */
    List<AuthService> getBySystemName(String sysName);

    boolean exits(List<AuthService> authServices,String serviceName);
}
